Synchronous memory open page register

ABSTRACT

A memory device includes memory cells arranged in multiple blocks. A register is provided to track multiple open pages per block of the memory. In one embodiment, the register is located in the memory device and used to determine if a memory access is to be performed. In another embodiment, the register is located external to the memory and used by a processor and/or chip set to determine if an access request is needed.

FIELD OF THE INVENTION

[0001] The present invention relates generally to memory devices and in particular the present invention relates to access circuitry of memory devices.

BACKGROUND OF THE INVENTION

[0002] Today's synchronous memory devices are used in mobile applications such as personal digital assistants (PDA's) and cell phones for the higher performance they offer. Power consumption of these memory devices, however, is a big issue for battery-powered applications. As such, there is a demand for memory devices that have power saving features.

[0003] A synchronous non-volatile memory, such as a synchronous flash memory, is a non-volatile device that performs read operations like a synchronous DRAM device. In general, the synchronous flash memory device has a memory cell array that is arranged in rows and columns. A row is typically accessed and the contents of the data read. The read data can then be randomly read by changing a column address. The read operation consumes power when accessing and sensing the stored data. The row length (number of cells in a row) is a factor of power consumption. As such, the length of an accessed row (page) can be reduced by providing multiple pages per memory bank of a memory device. Excessive power is often consumed, however, by re-accessing a page of the memory was just accessed.

[0004] For the reasons stated above, and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for a memory device that can reduce power consumption.

SUMMARY OF THE INVENTION

[0005] The above-mentioned problems with non-volatile memory devices and other problems are addressed by the present invention and will be understood by reading and studying the following specification.

[0006] In one embodiment, a synchronous memory device comprises an array of memory cells arranged in addressable blocks, and a page register to store address locations of multiple pages per addressable block.

[0007] In another embodiment, a synchronous memory device comprises an array of memory cells arranged in X addressable blocks, where each of the X addressable blocks are divided into Y page sections. Latch circuitry corresponding to each of X addressable blocks store Y pages of data read from the array. Page register circuitry is provided that comprises X*Y registers to store origination addresses of the Y pages of data per X blocks.

[0008] A method of operating a memory device comprises receiving a memory page access request and corresponding page address, comparing the corresponding page address to a contents of a page register, and ignoring the memory page access request if the contents of a page register match the corresponding page address.

[0009] A method of operating a flash memory device comprises receiving a memory page access request and corresponding page address from a processor, evaluating a reset bit of a page register, and loading the corresponding page address into the page register, and performing the memory page access if reset bit is set. The corresponding page address is compared to contents of a page register if reset bit is reset, and the memory page access request is ignored if the contents of a page register match the corresponding page address. The corresponding page address is compared to contents of a page register if reset bit is reset. The corresponding page address is loaded into the page register and the memory page access is performed if the contents of a page register do not match the corresponding page address.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010]FIG. 1 is a block diagram of a memory device of one embodiment of the present invention;

[0011]FIG. 2 is a block diagram of a prior art processing system;

[0012]FIG. 3 is a block diagram of a processing system of one embodiment of the present invention;

[0013]FIG. 4 is a block diagram of a memory device of another embodiment of the present system;

[0014]FIG. 5 illustrates one embodiment of open page register circuitry of the present invention; and

[0015]FIG. 6 is a flow chart of a method of one embodiment of the present invention.

DETAILED DESCRIPTION OF THE DRAWINGS

[0016] In the following detailed description of the preferred embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific preferred embodiments in which the inventions may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical and electrical changes may be made without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the claims.

[0017] The present invention can be embodied in a memory device, a processor system or a chip-set. For purposes of illustration, a flash memory is described herein. The invention, however, is not limited to a specific type of memory. For example, the memory can be volatile (such as SDRAM) or non-volatile (such as flash).

[0018]FIG. 1 is a functional block diagram of a memory device 100 coupled to a processor 110, of one embodiment of the present invention. The memory device 100 and the processor 110 may form part of an electronic system 120. The memory device 100 has been simplified to focus on features of the memory that are helpful in understanding the present invention. The memory device includes an array of memory cells 130. The memory cells are preferably non-volatile floating-gate memory cells and generally have their control gates coupled to word lines, drain regions coupled to local bit lines, and source regions commonly coupled to a ground potential. The memory array 130 is arranged in banks of rows and columns. Each bank is arranged in erase blocks. During an erase operation, the memory cells of the erase block are placed in an erased state. Data, however, may be stored in the memory array 130 separate from the block structure.

[0019] An address buffer circuit 140 is provided to latch address signals provided on address input connections A0-Ax 142. Address signals are received and decoded by row decoder 144 and a column decoder 146 to access the memory array 130. It will be appreciated by those skilled in the art, with the benefit of the present description, that the number of address input connections depend upon the density and architecture of the memory array. That is, the number of addresses increases with both increased memory cell counts and increased bank and block counts.

[0020] The non-volatile memory cells are fabricated as floating gate memory cells and include a source region and a drain region that is spaced apart from the source region to form an intermediate channel region. A floating gate, typically made of doped polysilicon, is disposed over the channel region and is electrically isolated from the other cell elements by oxide. For example, gate oxide can be formed between the floating gate and the channel region. A control gate is located over the floating gate and is can also made of doped polysilicon. The control gate is electrically separated from the floating gate by another dielectric layer. Thus, the floating gate is “floating” in dielectric so that it is insulated from both the channel and the control gate.

[0021] Program and erase operations are not performed in single steps. That is, successive program pulses are applied to the memory cells to program a memory cell. This approach reduces over-programming. In a similar manner, the erase operation is iterative. In one embodiment, the erase operation includes three primary steps. The first is a pre-program operation in which all of the memory cells of an erase block are programmed. After all of the cells are pre-programmed, successive erase pulses are applied to the memory cells to remove the pre-program charge from the floating gate. A soft-program operation can be performed to ‘heal’ any over-erased memory cells.

[0022] The memory device reads data in the array 130 by sensing voltage changes in the memory array columns using sensing circuitry 150. The sensing circuitry, in one embodiment, is coupled to read and latch a row of data from the memory array. The row data can be one continuous address, or comprised of partial rows of discontinuous addresses.

[0023] Data input and output buffer circuitry 160 is included for bi-directional data communication over a plurality of data (DQ) connections 162 with the processor 110. The timing of data communication can vary depending upon the architecture. In one embodiment, data read from the memory can be output on the data connections with read latency. Read latency, as known to those skilled in the art, is the number of clock cycles between a read command and available data on the output connections. In addition, the memory can operate in a burst mode and allows read-while-write capabilities to different array banks.

[0024] Command control circuit 170 decodes signals provided on control connections 172 from the processor 110. These signals are used to control the operations on the memory array 130, including data read, data write, and erase operations. During operation, commands are provided on the control connections, such as ACTIVE, READ and WRITE commands. An ACTIVE command is used to open (or activate) a row in a particular array bank for a subsequent access. A selected row generally remains active for accesses until the next ACTIVE command. The READ command is used to initiate a read access to an active row. The address connections are used to select a starting column location. Read data appears on the DQs subject to a read latency value. A WRITE command is used to initiate a single-location write access on an active row. Input data appearing on the DQs is written to the memory array.

[0025] The flash memory device has been simplified to facilitate a basic understanding of the features of the memory. A more detailed understanding of internal circuitry and functions of flash memories are known to those skilled in the art. The processor and/or memory of FIG. 1 includes an open page register 200. The open page register, described in greater detail below, reduces access time and power consumption by ‘remembering’ what data is still available from a prior access.

[0026]FIG. 2 illustrates a prior art DRAM system that includes a page register. The system, or chip set 201, maintains a log of one open page in each of the memory banks. For example, a four bank memory device 206 is coupled to a processor with four registers 202 ₁-202 ₃ to track up to four open rows, one in each bank 210. The banks are coupled to corresponding data latches 212 that store data read from the array banks. During operation, the chip set compares the register for an addressed bank to a requested address. If the requested row data is open, the system is not required to re-access the row and can read the data from the latches.

[0027] This prior art system works well for memories with a single open page per bank. If memory device has multiple open pages per bank, however, the processor is not capable of tracking each open page. As such, either the system tracks only one of the open pages or the processor register size must be increased. Tracking only a portion of the open pages is inefficient and wastes power by re-opening a previously open page that was not tracked.

[0028] Referring to FIG. 3, a block diagram of a processing system 300 of an embodiment of the present invention is described. The system includes a processor/chip set 310 that is coupled to a memory device 320. The memory device includes an array of memory cells 322 arranged in a plurality of banks. Each of the banks includes multiple addressable pages 330 ₁-330 ₃. For example, the illustrated memory has four banks that are each divided to provide three addressable pages. Data from the pages are stored in corresponding latch circuitry 350 during an access operation. The data can then be output from the latches during a read operation. It will be appreciated by those skilled in the art that the number of pages per bank are not limited to the three page per bank illustration. This embodiment requires twelve open page registers be included with the chip set 310, a requirement that can result in a significant increase in the chip set size and cost.

[0029] Referring to FIG. 4, a block diagram of a memory 400 of another embodiment of the present invention is described. The memory device includes an array of memory cells 410 arranged in a plurality of banks. Each of the banks includes multiple addressable pages 430 ₁-430 ₃. The memory includes open page registers 450 ₁-450 ₃ to track all open pages of the memory. As such, the memory compares an open page request of an active command (from processor 110 of FIG. 1 or chip set 310 of FIG. 3) with the content of the open page registers. It will be appreciated that the buffer circuit 140 of FIG. 4 can include row decoder 144, but it is not illustrated for simplicity. If the memory determines that the page requested is already available for a read operation, it ignores the access command (also known as an active command). The chipset assumes that the active cycle was executed by the memory and reads the data from latches 460 at an appropriate time during a read operation. This saves a lot of power for the system but does not give them the extra bandwidth that could be obtained if the chipset kept track of all the open pages as well. This internal page mode detection would save a lot of power without the external circuitry being aware of the pattern of data being requested from the memory. In cases where the memory has a lot of open pages and the nature of access to the memory is predictable, then there could be substantial power saving that would show up as longer battery life.

[0030]FIG. 5 is a simplified illustration of one embodiment of open page register circuitry 200 of the present invention. The register circuitry includes a number of address registers 450 ₁-450 ₃ that store an origination address of a page of the memory. As explained above, the array includes X blocks that are each divided into Y pages. In one embodiment, the page register circuitry comprises X*Y registers. An open page compare register is provided to compare a page request address with the contents of the registers. In operation, page address 480 provided with a read request is compared to the contents of a register corresponding to a page section of the corresponding memory array block. Alternatively, all register of the array block can be compared to the received page address. Open page compare circuit 490 can be included in control circuitry 170 (FIGS. 1 and 4).

[0031] Following a power-up or reset condition, the contents of the registers may be invalid. As such, a power-on-reset (POR) bit 500 is provided in the registers to inform the compare circuitry 490 to skip the comparison and load the requested page address 480 into the register. That is, the current page address is loaded into the corresponding register and the POR bit 500 is reset for future comparison operations.

[0032]FIG. 6 is a flow chart of one method of one embodiment of the present invention. An externally provided access command is received by the memory (510). If the POR bit of the page register is set (512), the page address is loaded into the register, and the POR bit is reset (514). The memory then executes the access operation by reading the page and copying the read data to latch circuitry (516). The latch circuitry 460 is then subsequently read during a read operation.

[0033] If the POR bit is reset (512), the contents of the page register are compared to the page address provided with the read command (518). If the page register contents do not match the requested page address (520), the page address is loaded into the register (522), and the memory executes the requested access operation (516). If the page register contents match the requested page address (520), the memory ignores the requested access operation because the contents of the latch circuitry already contains the data stored in the requested page location (524).

CONCLUSION

[0034] A memory device has been described that includes memory cells arranged in multiple blocks. A register is provided to track multiple open pages per block of the memory. In one embodiment, the register is located in the memory device and used to determine if a memory access is to be performed. In another embodiment, the register is located external to the memory and used by a processor and/or chip set to determine if an access request is needed.

[0035] Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement, which is calculated to achieve the same purpose, may be substituted for the specific embodiment shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is manifestly intended that this invention be limited only by the claims and the equivalents thereof. 

In the claims:
 1. A synchronous memory device comprising: an array of memory cells arranged in addressable blocks; and a page register to store address locations of multiple pages per addressable block.
 2. The synchronous memory device of claim 1 further comprises an address comparator to compare an access request address with contents of the page register.
 3. The synchronous memory device of claim 1 wherein the array of memory cells comprise non-volatile memory cells.
 4. A synchronous memory system comprising: a synchronous memory device having an array of memory cells arranged in addressable blocks; a processor coupled to communicate with the synchronous memory device; and an open page register to store address locations of multiple open pages per addressable block of the synchronous memory device.
 5. The synchronous memory system of claim 4 wherein the processor compares a requested memory address with contents of the open page register to determine if a memory access operation is needed.
 6. The synchronous memory system of claim 4 wherein the open page register is located within the synchronous memory device.
 7. The synchronous memory system of claim 6 wherein the synchronous memory device compares an address provided by the processor to contents of the open page register in response to an access request to determine if the access request is performed.
 8. A synchronous memory device comprising: an array of memory cells arranged in X addressable blocks, each of the X addressable blocks are divided into Y page sections; latch circuitry corresponding to each of X addressable blocks to store Y pages of data read from the array; and page register circuitry comprising X*Y registers to store origination addresses of the Y pages of data per X blocks.
 9. The synchronous memory device of claim 8 further comprises an address comparator to compare an access request address with contents of the X*Y registers.
 10. The synchronous memory device of claim 9 wherein the address comparator selectively compares the access request address with the contents of the X*Y registers in response to a reset signal.
 11. A synchronous flash memory device comprising: an array of non-volatile memory cells arranged in X addressable blocks; control circuitry to access pages of the array in response to externally provided access commands; latch circuitry coupled to store data read from the pages of the array in response to externally provided page addresses; and X+Z page address registers to store the externally provided page addresses corresponding to data in the latch circuitry.
 12. The synchronous flash memory device of claim 11 wherein X is four and Z is X*Y, where each block of the array is divided into Y column sections each defining a page of the array.
 13. A method of operating a memory device comprising: receiving a memory page access request and corresponding page address; comparing the corresponding page address to a contents of a page register; and ignoring the memory page access request if the contents of a page register match the corresponding page address.
 14. The method of claim 13 further comprises loading the corresponding page address into the page register if the contents of a page register do not match the corresponding page address.
 15. The method of claim 14 further comprises performing the memory page access.
 16. The method of claim 13 further comprises: evaluating a reset bit of the page register; loading the corresponding page address into the page register if reset bit is set; and performing the memory page access.
 17. The method of claim 16 further comprises resetting the reset bit.
 18. A method of operating a memory device comprising: receiving a memory page access request and corresponding page address; evaluating a reset bit of a page register; loading the corresponding page address into the page register if reset bit is set; performing the memory page access if reset bit is set; comparing the corresponding page address to a contents of a page register if reset bit is reset; and ignoring the memory page access request if the contents of a page register match the corresponding page address.
 19. The method of claim 18 further comprises: loading the corresponding page address into the page register if the contents of a page register do not match the corresponding page address; and performing the memory page access.
 20. A method of operating a flash memory device comprising: receiving a memory page access request and corresponding page address from a processor; evaluating a reset bit of a page register; loading the corresponding page address into the page register, and performing the memory page access if reset bit is set; comparing the corresponding page address to a contents of a page register if reset bit is reset, and ignoring the memory page access request if the contents of a page register match the corresponding page address; and comparing the corresponding page address to a contents of a page register if reset bit is reset, and loading the corresponding page address into the page register and performing the memory page access if the contents of a page register do not match the corresponding page address. 